﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using ExtremeEvents.Models;

namespace ExtremeEvents.Controllers
{
    public class SubscreverEventoController : Controller
    {
        //
        // GET: /SubscreverEvento/

        public ActionResult Index()
        {
            return View();
        }

        //
        // GET: /SubscreverEvento/Subscrever
        public ActionResult Subscrever(int id)
        {
            Visitante visitante = new Visitante();
            SubscreverEvento sEvento = new SubscreverEvento
            {
                id_evento = id,
                visitante = visitante
            };

            //ViewBag.id_euVou = new SelectList(lista_categoria, "id_categoria", "descricao");
            return View(sEvento);
        }

        //
        // POST: /SubscreverEvento/Subscrever
        [HttpPost]
        public ActionResult Subscrever(SubscreverEvento sEvento)
        {
            if (ModelState.IsValid)
            {
                //Cria uma ligação com a base de dados
                ExtremeEventsIntity db = new ExtremeEventsIntity();
                // Objeto que vai conter os parametros da subscrição
                object[] param = new object[7];
                param[0] = null;
                param[1] = null;
                param[2] = sEvento.id_evento;
                param[3] = sEvento.visitante.nome;
                param[4] = sEvento.visitante.contacto;
                param[5] = sEvento.visitante.email;
                param[6] = sEvento.euVou.ToString();

                //Executar o SP de adicionar um novo evento
                db.Database.ExecuteSqlCommand("EXEC ext.sp_fe_addSubscreverEvento {0}, {1}, {2}, {3}, {4}, {5}, {6}", param);
            }
            else
            {
                ModelState.AddModelError("", "Error_26: verifique se preencheu todos os campos obrigatórios corretamente.");
                return View(sEvento);
            }
            return RedirectToAction("SubscreverSuccess");
        }

        public ActionResult SubscreverSuccess()
        {
            return View();
        }  
    }
}
